Métodos Quantitativos Aplicados à Administração

Bacharelado em Administração

Prof. Washington Santos da Silva

IFMG - Campus Formiga

30 de setembro de 2024

Na Aula de Hoje

Tópicos

O que é a Linguagem R?

Descrição

  • R é uma linguagem de programação para análise de dados, estatística e visualização.

  • Utilizada em diversas áreas, como Economia, Finanças, Marketing e Administração.

  • Possui uma grande comunidade e muitos pacotes prontos para resolver problemas de negócios.

Softwares Necessários

  • Ver os slides: instalacao.pdf

Introdução ao RStudio

  • Ver os slides rstudio.html

R como uma Calculadora

  • R pode ser usado para operações matemáticas simples.
2 + 3 # adicão
[1] 5
3 - 4 # subtração
[1] -1
7 * 4 # Multiplicação
[1] 28
8/4 # Divisão
[1] 2
2^3 # Potenciação
[1] 8
sqrt(16) # raíz quadrada
[1] 4
exp(10) # exponenciação
[1] 22026.47
log(100) # logaritmo natural
[1] 4.60517
log10(100) # logaritmo base 10
[1] 2
round(3.1415, digits = 2) # arredondamento
[1] 3.14

R como uma Calculadora

Precedência de Operações Aritméticas

  • A linguagem R segue regras específicas de precedência de operações aritméticas para determinar a ordem em que as operações são avaliadas.

  • A precedência refere-se à prioridade que cada operador tem em relação aos outros.

A seguir são descritas as principais regras de precedência na linguagem R, da mais alta para a mais baixa:

  1. Parênteses:
  • As operações dentro de parênteses têm a mais alta prioridade.

  • Quando parênteses são usados, as operações dentro deles são avaliadas primeiro.

  1. Potenciação:
  • A potenciação tem a segunda maior prioridade.

  • Por exemplo, 2^3 é avaliado antes de outras operações.

  1. Multiplicação e Divisão:
  • Multiplicação e divisão têm a mesma prioridade e são avaliadas da esquerda para a direita.

Veja dois exemplos:

2*3/4 
[1] 1.5
2/3*4
[1] 2.666667
  1. Adição e Subtração:
  • Adição e subtração têm a menor prioridade entre as operações aritméticas e também são avaliadas da esquerda para a direita.

Precedência de Operações Aritméticas

  • Ao usar expressões aritméticas em R, é importante entender essas regras de precedência para garantir que as operações sejam avaliadas na ordem desejada.

  • Se necessário, o uso de parênteses pode ser empregado para explicitamente indicar a ordem de avaliação desejada.

  • Por exemplo:

resultado <- 2 + 3 * 4^2
resultado
[1] 50
  • Neste caso, a exponenciação (4^2) será avaliada primeiro, seguida pela ultiplicação (3 * 16).

  • Se a ordem desejada for diferente, parênteses podem ser usados para modificar a precedência:

resultado <- (2 + 3) * 4^2
resultado
[1] 80
  • Nesse caso, a adição (2 + 3) é avaliada primeiro devido aos parênteses.

R como uma Calculadora

  • Usando variáveis:
x <- 10
y <- 5
z <- x + y
z
[1] 15

Trabalhando com Dados

  • Criando vetores manualmente:
lucro <- c(100, 200, 150, 300)
lucro
[1] 100 200 150 300

Trabalhando com Dados

  • Calculando estatísticas de vendas como um vetor:
mean(lucro) # média
[1] 187.5
median(lucro) # mediana
[1] 175
quantile(lucro) # quantis
   0%   25%   50%   75%  100% 
100.0 137.5 175.0 225.0 300.0 
  • Sumário estatístico:
summary(lucro)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  100.0   137.5   175.0   187.5   225.0   300.0 

Trabalhando com Dados

  • Criando data frames manualmente:
# Nome dos funcionários
funcionarios <- factor(c("Ana", "Bruno", "Carlos", "Daniela", "Eduardo"))

# Departamentos em que trabalham
departamento <- factor(c("Financeiro", "Recursos Humanos", "Marketing",  
                         "Financeiro", "Operações"))

# Salários mensais
salario <- c(4500, 3800, 5000, 4700, 5200)

# Data de contratação
data_contratacao <- as.Date(c("2020-01-15", "2019-03-10", "2021-07-22",  
                              "2018-11-05", "2022-02-14"))

# Criando o data frame
df_funcionarios <- data.frame(
  funcionario = funcionarios,
  departamento = departamento,
  salario = salario,
  data_contratacao = data_contratacao
)

# Visualizando o data frame
df_funcionarios
  funcionario     departamento salario data_contratacao
1         Ana       Financeiro    4500       2020-01-15
2       Bruno Recursos Humanos    3800       2019-03-10
3      Carlos        Marketing    5000       2021-07-22
4     Daniela       Financeiro    4700       2018-11-05
5     Eduardo        Operações    5200       2022-02-14

Trabalhando com Dados

  • Calcuando estatísticas de todas as variáveis de uma data frame:
summary(df_funcionarios)
  funcionario           departamento    salario     data_contratacao    
 Ana    :1    Financeiro      :2     Min.   :3800   Min.   :2018-11-05  
 Bruno  :1    Marketing       :1     1st Qu.:4500   1st Qu.:2019-03-10  
 Carlos :1    Operações       :1     Median :4700   Median :2020-01-15  
 Daniela:1    Recursos Humanos:1     Mean   :4640   Mean   :2020-05-07  
 Eduardo:1                           3rd Qu.:5000   3rd Qu.:2021-07-22  
                                     Max.   :5200   Max.   :2022-02-14  

Instalando Pacotes R no RStudio

Há duas formas de instalar pacotes:

Forma 1:

Pela Guia Packages do RStudio

  • Clique na guia Packages.
  • Clique clique na guia Install.
  • Digite o nome de um ou mais pacotes, no caso de mais de um, separe os nomes por espaço ou vírgula: tidyverse, readxl
  • Clique em Install.

Forma 2:

Podemos usar a função install.packages()

# escreva o nome de um ou mais pacotes, separados por vírgular, 
# entre aspas duplas:

# instala o metapacote tidyverse
install.packages("tidyverse")

Carregando Pacotes

Para carregar um pacote podemos usar o comando:

# ativa o pacote ggplot2
library(tidyverse)
  • Você só precisa instalar um pacote uma vez, mas precisa carregá-lo sempre que iniciar uma nova sessão.

Pacote here

  • instale o pacote here

  • O pacote here facilita o uso de caminhos relativos em projetos RStudio, garantindo que os scripts encontrem os arquivos de forma correta, independentemente de onde o projeto esteja localizado.

  • Estrutura do projeto mq2024:

mq2024_adm
  ├── dados
     ├── brutos
     └── limpos
  ├── scripts
  ├── quarto

Pacote here

  • Exemplo de como criar um caminho relativo para acessar arquivos e e de como importar um arquivo csv.
# carrega os pacotes
library(here)
library(readr)

# cria o caminho relativo para o arquvio vendas.csv
path_csv <- here("dados/brutos/vendas.csv")

# importa o arquivo usando o caminho relativo e a funcao 
# read_csv do pacote readr
dados_vendas <- readr::read_csv(path_csv)

# visao geral da estrutura dos dados
dplyr::glimpse(dados_vendas)
Rows: 1,000
Columns: 7
$ data           <date> 2023-06-28, 2023-01-14, 2023-07-14, 2023-11-02, 2023-0…
$ municipio      <chr> "Arcos", "Arcos", "Formiga", "Arcos", "Piumhi", "Piment…
$ representante  <chr> "Representante 6", "Representante 10", "Representante 1…
$ produto        <chr> "Produto B", "Produto A", "Produto C", "Produto A", "Pr…
$ unidades       <dbl> 30, 7, 13, 77, 75, 77, 85, 10, 16, 53, 1, 57, 7, 35, 94…
$ preco_unitario <dbl> 80, 100, 25, 90, 45, 50, 100, 40, 35, 95, 45, 65, 55, 3…
$ receita_bruta  <dbl> 2400, 700, 325, 6930, 3375, 3850, 8500, 400, 560, 5035,…

Dados Simulados

Descrição: vendas.csv

Cada linha no arquivo vendas.csv corresponde a uma transação de venda de um determinado produto, realizada em uma data específica, em um município específico, por um representante de vendas específico.

  1. data: Representa a data em que a venda ocorreu. Essas datas foram amostradas aleatoriamente de um conjunto de todas as datas entre 1º de janeiro de 2023 e 31 de dezembro de 2023. Isso significa que, em algumas datas, pode haver várias transações e em outras, nenhuma.

  2. municipio: Indica o município onde a venda foi realizada. Os municípios possíveis são “Formiga”, “Arcos”, “Pimenta” e “Piumhi”.

  3. representante: representante de vendas responsável pela transação. Existem 20 representantes, identificados como “Representante 1”, “Representante 2”, até “Representante 20”.

  4. produto: produto vendido na transação. Os produtos possíveis são “Produto A”, “Produto B” e “Produto C”.

  5. unidades: Informa a quantidade de unidades do produto vendidas na transação.

  6. preco_unitario: Mostra o preço unitário do produto vendido.

  7. receita_bruta: Representa a receita bruta gerada pela transação, que é calculada multiplicando o número de unidades vendidas (unidades) pelo preço unitário do produto (preco_unitario).

Portanto, cada linha do data frame representa uma transação de venda ocorrida em uma data específica, de um produto específico, vendida por um representante em um município. Os valores de unidades vendidas, preço unitário e a receita gerada são simulados aleatoriamente para cada transação.

Manipulação de Dados com dplyr

  • Selecionando variáveis (ou colunas):
# seleciona as variaveis/colunas municipio e receita bruta
dplyr::select(dados_vendas, municipio, receita_bruta)
# A tibble: 1,000 × 2
   municipio receita_bruta
   <chr>             <dbl>
 1 Arcos              2400
 2 Arcos               700
 3 Formiga             325
 4 Arcos              6930
 5 Piumhi             3375
 6 Pimenta            3850
 7 Piumhi             8500
 8 Formiga             400
 9 Pimenta             560
10 Pimenta            5035
# ℹ 990 more rows

Manipulação de Dados com dplyr

  • Filtrando linhas:
# filtra as observacoes (vendas) que produziram uma 
# receita bruta superior a 100
dplyr::filter(dados_vendas, receita_bruta > 2000)
# A tibble: 547 × 7
   data       municipio representante    produto   unidades preco_unitario
   <date>     <chr>     <chr>            <chr>        <dbl>          <dbl>
 1 2023-06-28 Arcos     Representante 6  Produto B       30             80
 2 2023-11-02 Arcos     Representante 15 Produto A       77             90
 3 2023-04-28 Piumhi    Representante 9  Produto A       75             45
 4 2023-10-26 Pimenta   Representante 15 Produto A       77             50
 5 2023-08-17 Piumhi    Representante 4  Produto A       85            100
 6 2023-06-02 Pimenta   Representante 14 Produto C       53             95
 7 2023-04-01 Formiga   Representante 2  Produto B       57             65
 8 2023-04-01 Arcos     Representante 11 Produto A       94             35
 9 2023-12-14 Piumhi    Representante 1  Produto C       80             70
10 2023-05-17 Formiga   Representante 7  Produto A       74             45
# ℹ 537 more rows
# ℹ 1 more variable: receita_bruta <dbl>

Manipulação de Dados com dplyr

  • agrupando calculos por uma variável categórica:
dados_vendas %>% 
  group_by(municipio) %>% 
  summarise(receita_total = sum(receita_bruta)) 
# A tibble: 4 × 2
  municipio receita_total
  <chr>             <dbl>
1 Arcos            702440
2 Formiga          771030
3 Pimenta          734840
4 Piumhi           671060

Visualização de Dados com ggplot2

  • Criando um gráfico de barras:
library(ggplot2)

ggplot(dados_vendas, aes(x = municipio, y = receita_bruta)) +
  geom_bar(stat = "identity") + 
  coord_flip()

Visualização de Dados com ggplot2

  • Gráfico de Linha:
# Agrupar por mês
receita_mensal <- dados_vendas %>%
  mutate(mes = floor_date(data, "month")) %>%
  group_by(mes) %>%
  summarise(receita_total = sum(receita_bruta),
            unidades_mensais = sum(unidades))

# Plotar Receita Mensal
ggplot(receita_mensal, aes(x = mes, y = receita_total)) +
  geom_point() + 
  geom_line(color = "steelblue", size = 1) +
  labs(title = "Receita Mensal", x = "Mês", y = "Receita (R$)") + 
  ylim(0, 400000) + 
  theme_minimal()

Visualização de Dados com ggplot2

Conclusão

  • Revisamos alguns dos principais conceitos da linguagem R: operações matemáticas, vetores, importação e manipulação de dados, visualização de dados.

  • A linguagem R é uma ferramenta poderosa para análise de dados aplicados a negócios.

  • Próximos passos: Praticar e explorar mais funções em R.

Fim

Dúvidas?

  • Alguma dúvida sobre os conceitos abordados?

Referências

BROOKS, C. Introductory Econometrics For Finance. 4th. ed. [s.l.] Cambridge University Press, 2019.
WOOLDRIDGE, J. M. Introdução à Econometria: Uma Abordagem Moderna. Traducao Flávio E. F. Marques. 5. ed. São Paulo, Brasil: Cengage Learning, 2016.